package cn.harry.modular.achievement.domain;

import cn.harry.common.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 课程教学表
 *
 * @TableName achievement_course_teaching
 */
@EqualsAndHashCode(callSuper = true)
@TableName(value = "achievement_course_teaching")
@Data
public class AchievementCourseTeaching extends BaseEntity {

    /**
     * 封面
     */
    @Schema(description = "封面")
    private String cover;
    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;
    /**
     * 课程名称
     */
    @Schema(description = "课程名称")
    @TableField(condition = SqlCondition.LIKE)
    private String courseName;

    /**
     * 课程编号
     */
    @Schema(description = "课程编号")
    private String courseNumber;

    /**
     * 授课学期/学年
     */
    @Schema(description = "授课学期/学年")
    private String teachingSemesterYear;

    /**
     * 授课对象
     */
    @Schema(description = "授课对象")
    private String teachingTarget;

    /**
     * 课程类型
     */
    @Schema(description = "课程类型")
    private String courseType;

    /**
     * 教学目标
     */
    @Schema(description = "教学目标")
    private String teachingObjective;

    /**
     * 教学内容
     */
    @Schema(description = "教学内容")
    private String teachingContent;

    /**
     * 课程教学方式
     */
    @Schema(description = "课程教学方式")
    private String teachingMethod;

    /**
     * 教学时间安排
     */
    @Schema(description = "教学时间安排")
    private String teachingTimeArrangement;

    /**
     * 课件/教学资源
     */
    @Schema(description = "课件/教学资源")
    private String coursewareResources;
    /**
     * 下载次数
     */
    @Schema(description = "下载次数")
    private Integer downloadCount;

    /**
     * 状态 0 待审核 1 已审核 2 审核拒绝
     */
    @Schema(description = "状态 0 待审核 1 已审核 2 审核拒绝")
    private String state;

    /**
     * 文件内容
     */
    @Schema(description = "文件内容")
    private String content;
}